﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataAnalyticsTools.Models
{
    /// <summary>
    /// 变化点检测方法枚举
    /// </summary>
    public enum ChangePointDetectMethod
    {
        [Description("AUTO：根据数据情况自动推荐检测算法")]
        AUTO,

        /// <summary>
        /// CUSUM (CUmulative SUM) 方法
        /// 通过累积偏差检测均值变化，适合检测持续的均值偏移
        /// </summary>
        [Description("CUSUM：通过累积偏差检测均值变化，适合检测持续的均值偏移")]
        CUSUM,

        /// <summary>
        /// 滑动窗口方法
        /// 通过比较窗口前后统计特性的差异来检测变化，适合检测突变
        /// </summary>
        [Description("SlidingWindow：通过比较窗口前后统计特性的差异来检测变化，适合检测突变")]
        SlidingWindow,

        /// <summary>
        /// 基于回归的方法
        /// 通过拟合分段线性回归来检测变化点
        /// </summary>
        [Description("Regression：通过拟合分段线性回归来检测变化点")]
        Regression,

        /// <summary>
        /// 基于波动率的方法
        /// 检测方差或波动率的变化点
        /// </summary>
        [Description("Volatility：检测方差或波动率的变化点")]
        Volatility
    }
}
